var popWindow=new PopWindow("popWindow");

/*显示游玩日期*/
(function(){
	Calendar.init.handles.push(function(elem){
		$.ajax({
			"url":"call/ajax_price.php",
			"data":{"date":$("#begintime").val(),"pid":$("#pid").val(),"aid":parseInt($("#aid").val())},
			"async":false,
			"dataType":"json",
			"success":function(data){
				for(var pid in data){
					var jsprice_str="tprice_"+pid;
					var uprice_str="uprice_"+pid;
					var storage_str="storage_"+pid;
					if($("input[type='hidden']."+jsprice_str).size()>0){
						if(data[pid]['jsprice']>=0){
							$("input[type='hidden']."+jsprice_str).val(data[pid]['jsprice']/100);
							$("em."+jsprice_str).html("¥"+data[pid]['jsprice']/100);
							$("em."+uprice_str).html("¥"+data[pid]['uprice']/100);
							$("em."+storage_str).html(data[pid]['storage']);
						}else{
							var con=$("input[type='hidden']."+jsprice_str).get(0);
							con.parentNode.parentNode.parentNode.removeChild(con.parentNode.parentNode);
						}
					}
				}
				countTotal();
			}
		})
	});
	$("#begintime").click(function(){	
		Calendar.init.timeElement=this;
		var pid=parseInt($("#pid").val()),
            date=$(this).val(),
            yearmonth=date.substr(0,7),
            aid=parseInt($("#aid").val());
		$(this).blur();
		Calendar.show(yearmonth,pid,0,aid);
	});
})();
/*酒店离店时间,下单*/
(function(){
	if($("#roomNum").size()!=0){
		$("#roomNum").change(function(){
			if(this.value-$("#maxbuytnum").val()>0){
				alert("房间库存不足，最多可预订"+$("#maxbuytnum").val()+"间");
				$(this).val($("#maxbuytnum").val());
			}
			$(".tnum").val($(this).val());
			countTotal();
		});
		$("#leavetime").click(function(){
			Calendar.init.timeElement=this;
			var pid=parseInt($("#pid").val()),
			    aid=parseInt($("#aid").val());
			$(this).blur();
			var date=$(this).val();
			var yearmonth=date.substr(0,7);
			var fromTime=Date_func.dateToUnix($("#begintime").val())+3600*24*1000;
			Calendar.show(yearmonth,pid,Date_func.unixToDate(fromTime),aid);
		});
		Calendar.init.handles.push(function(elem){
			var beginDate=$("#begintime").val();
			var endDate=$("#leavetime").val();
			var beginTime=Date_func.dateToUnix(beginDate);
			var endTime=Date_func.dateToUnix(endDate);
			var days=(endTime-beginTime)/24/3600/1000;
			if(days<=0){
				$("#leavetime").val(Date_func.unixToDate(beginTime+3600*24*1000));
				days=1;
			}
			if(days>21){
				alert("预订21天以上，请联系客服");
				$("#leavetime").val(Date_func.unixToDate(beginTime+20*3600*24*1000));
				days=21;
			}
			var htmlText="";
			var date;
			var jsprice;
			var tnum;
			var weekTs={"0":"周日","1":"周一","2":"周二","3":"周三","4":"周四","5":"周五","6":"周六"};
			var weekT;
			var storageDate=[];
			var dayStorage;
			var roomStatus;
			var maxbuytnum=20;
			var remain;
			for(var i=0;i<days;i++){
				storageDate.push(Date_func.unixToDate(beginTime+i*3600*24*1000));
			}
			$.ajax({
					"url":"call/ProductHandle.php",
					"data":{"storageDate":storageDate.join(","),"tid":$("#tid").val(),"action":"getRoomStorage"},
					"async":false,
					"dataType":"json",
					"success":function(data){
						dayStorage=data;
					}
				});
				
			for(var i=0;i<days;i++){
				date=Date_func.unixToDate(beginTime+i*3600*24*1000);
				jsprice=Calendar.datePrice[date];
				roomStatus="";
				if(Calendar.dateRemain[date]==-1){
					roomStatus="不限";
				}else{
					remain=Calendar.dateRemain[date];
					if(remain<maxbuytnum) maxbuytnum=remain;
					roomStatus="余 "+remain+"";
				}
				
				$("#maxbuytnum").val(maxbuytnum);
				if($("#roomNum").val()-$("#maxbuytnum").val()>0){
					$("#roomNum").val(maxbuytnum);
				}
				if(jsprice<=0||jsprice==undefined) continue; 
				tnum=$("#roomNum").val();
				weekT=weekTs[Date_func.dateWeek(date)];
				htmlText+=JsTpl.assign($("#pri_tmpl").html(),{"date":date.substr(5),"jsprice":jsprice,"tnum":tnum,"weekT":weekT,"roomStatus":roomStatus});
			}
			$(".priceItem").html(htmlText);
			countTotal();
		});
	}
})();
/*订单提交验证*/
(function(){
	$(".submitBtn").click(function(){
		if(!checkInfo()){return false;};
		if(!checkPay()){return false;};
		formSubmit();
		return false;
	});
	function checkPay(){
		var totalprice=Math.abs($("#summoney").html())*100,
		money=parseFloat($("#remaindMoney").val()),//账户余额
		tmoney=parseFloat($("#remainTmoney").val());//信用额度
		if($("input.paymode").size()>0){
			var paymode;
			var radios=$("input.paymode");
			for(var i=0;i!=radios.size();i++){
				if(radios.get(i).checked==true){
					paymode=radios.get(i).value;
				}
			}
			if(paymode==2){//判定供应额度
				if(tmoney<totalprice){
					alert("供应商额度不足，请选择支付宝支付");
					return false;
				}
			}else if(paymode==0){
				if(money<totalprice){
					alert("账户余额不足，请选择支付宝支付");
					return false;
				}
			}
		}
		return true;
	}
	function formSubmit(){
		if(!document.forms['group'].submited){
			document.forms['group'].submit();
			popWindow.open("<div class='loadsubmit'><h3>订单提交中，请稍等</h3><div class='loading'></div></div>");
		}
		if(!document.forms['group'].submited){
			document.forms['group'].submited=true;
		}
	}
	
	
	
	var verify = {
    is_chinese : function(str) {
        var  reg_zh = /[\u4E00-\u9FA5\uF900-\uFA2D]/;
        return reg_zh.test(str);
    },
    is_email : function(email){
        if(email.length>6) {
            var emailReg = /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/;
            var re = new RegExp(emailReg);
            return re.test(email);
        }
        return false;
	},
	isTel:function(val){
		var reg =  /^0?1[3|4|5|8][0-9]\d{8}$/;
		return reg.test(val) ? '1':'';
	}
}
	//检查订票人信息
	function checkInfo(){
		if($("#purchaseNum").val()==0){
			alert("主门票预订数不能少于1");
			return false;
		}
		if(!$("#begintime").val()){
			alert("请填写门票生效日期");
			return false;
		}
		if(!$("#ordername").val()){
			alert("请填写联系人姓名");
			return false;
		}
		if(!(/^[\u4e00-\u9fa5]+$/gi).test($("#ordername").val())){
			alert("联系人姓名需为中文");
			return false;
		}
		
		if($("#ordername").val().length>20){
			alert("联系人姓名长度太长");
			return false;
		}
		if(!$("#ordertel").val()){
			alert("请填写联系人手机号码");
			return false;
		}
		if(!(/^[0-9]{11}$/).test($("#ordertel").val())){
			alert("手机格式错误");
			return false;
		}
		if(($(".getTicket").size()>0)&&($(".getTicket").get(1).checked)){
			if(!$("#postAddress").val()){
				alert("请填写邮寄地址");
				return false;
			}
			if(!$("#postCode").val()){
				alert("请填写邮政编码");
				return false;
			}
			if((/^[0-9]{6}$/).test($("#postCode").val())){
				alert("邮政编码格式有误");
				return false;
			}
		}
		
		
		var paymodel=0;
		var radioCount=0;
		$("input.paymodel[type='radio']").each(function(){
			radioCount++;
			if(this.checked==true)
				paymodel=this.value;
		});
		if(paymodel==0&&radioCount){
			alert("请选择支付方式");
			return false;
		}
		var error=0;
		$(".roomer").each(function(){
			if($(this).val()==""||(/^入住人\d{1,2}$/).test($(this).val())){
				alert("请填写入住人姓名");
				$(this).focus();
				error=1;
				return false;
			}
		});
		if(error==1){return false;}
		if($("#arriveTime").size()>0&&!$("#arriveTime").val()){
			alert("请选择最晚到店时间");
			return false;
		}
		$(".tourist_name").each(function(){
			if($(this).val()==""){
				alert("旅客姓名不能为空");
				$(this).focus();
				error=1;
				return false;
			}
		});
		if(error==1){return false;}
		var idCards=[];
		$(".tourist_cert").each(function(){
			if($(this).val()==""){
				alert("旅客身份证号不能为空,儿童请填写出生日期");
				$(this).focus();
				error=1;
				return false;
			}
			if($(this).parent().parent().find(".tourist_type").first().get(0).value==1){
				if(!Verify.isIdCard($(this).val())){//成人需验证身份证号
					alert("旅客身份证号错误");
					$(this).focus();
					error=1;
					return false;
				}
			}else{
				var verifyPattern=/^[0-9-]*$/;
				if(!verifyPattern.test($(this).val())){
					alert("儿童出生日期格式有误");
					error=1;
					return false;
				}
			}
			idCards.push($(this).val());
			/*if($.inArray($(this).val(),idCards)!=-1){
				alert("该旅客身份证号已存在，请更换");
				$(this).focus();
				error=1;
				return false;
			}*/
			
		})
		if(error==1){
			return false;
		}
		return true;
	}
})();

/*门票数量变更*/
(function(){
	$(".minus").click(function(){
		var numElem=$(this).parent().find("input[type='text']").first()[0]
		numElem.value=numElem.value-1>=0?numElem.value-1:0;
		changenum(numElem);
		return false;
	});
	$(".add").click(function(){
		var numElem=$(this).parent().find("input[type='text']").first()[0];
		// if($(this).attr("data-max")>0)
			// if(Math.abs(numElem.value)+1>$(this).attr("data-max")){
				// alert("限制购买 "+$(this).attr("data-max")+" 张票");
				// return false;
			// }
		// }
		numElem.value=Math.abs(numElem.value)+1;
		changenum(numElem);
		return false;
	});
	$("input.tnum").keyup(function(){
		changenum(this);
	});
	function changenum(element){
        $("#purchaseNum").trigger('change');
		element.value=element.value.replace(/[^0-9]+/,"");
		if(element==document.getElementById("purchaseNum")){
			var minbuytnum=parseInt($("#minbuytnum").val());
			var maxbuytnum=parseInt($("#remainnum").val());
			if(minbuytnum&&element.value<minbuytnum){
				alert("门票购买数少于下限！");
				element.value=minbuytnum;
			}
			if(element.value>maxbuytnum){
				alert("门票购买数超过上限！");
				element.value=maxbuytnum;
			}
		}else{//非主订单，查看限制
			var minbuytnum=$(element).attr("p_minbuy");
			var ddays=$(element).attr("ddays");
			if(minbuytnum>0&&element.value>0&&element.value<minbuytnum){
				alert("该产品最少预订数是"+minbuytnum+",请填写大于"+minbuytnum+"的数字");
				element.value=0;
				err=1;
			}
			if(element.value!=0){
				if($("#begintime").val()<$(element).attr("p_mintime")){
					alert("该产品预订日期不得早于"+$(element).attr("p_mintime")+".");
					element.value=0;
				}
			}
		}
		if(element.value==""||element.value<0){
			element.value=0;
		}
		//if(element.value>100){
		//	element.value=100;
		//}
		countTotal();
	}
})();
function countTotal(){
	var summoney=0;
	var total=0;
	$(".tnum").each(function(){
		var subtotal=$(this).val()*$(this).parent().prev().val();
		summoney+=subtotal;
		total+=Math.abs($(this).val());
		$(this).parent().parent().next().find("em").first().html(subtotal);
	});

	if($("#roomNum").val()){
		rooms_change($("#roomNum").val());
	}else{
		if($("#tourist_info").val()==2){
			tourists_change(total);
		}
	};
	summoney=Number(summoney);
	$("#sumtnum").html(total);
	$("#summoney").html(summoney.toFixed(2));
}

bindRoomEvent();
function bindRoomEvent(){
	$(".roomer").focus(function(){
	if((/^入住人\d{1,2}$/).test($(this).val())){
		$(this).val("");
		$(this).removeClass("gray");
	}
	}).blur(function(){
		if($(this).val()==""){
			$(this).val(this.defaultValue);
			$(this).addClass("gray");
		}
	});
}
function rooms_change(num){
	var num=parseInt(num);
	var tpl="";
	var json;
	$("#roomer").parent().find(".more").remove();
	if($("#tourist_info").val()==1)
		num=1;
	for(var i=2;i<num+1;i++){
		json={"i":i};
		tpl+=JsTpl.assign(document.getElementById("roomer_tmpl").innerHTML,json);
	}
	$(tpl).insertAfter("#roomer");
	bindRoomEvent();
}
function tourists_change(num){
	var num=parseInt(num);
	var tpl="";
	var json;
	for(var i=1;i<num+1;i++){
		json={"num":i};
		tpl+=JsTpl.assign(document.getElementById("tourist_tmpl").innerHTML,json);
	}
	$('.tourist').html(tpl);
}
$(".paymode").click(function(){
	$(".paymode").attr("checked",false);
	this.checked=true;
});
/*杂项事件*/
(function(){
	/*显示更多门票*/
	$(".addTicket a").click(function(){
		if($(this).hasClass("show_more")){
			$(this).removeClass("show_more");
			$(this).html("收起全部门票类型");
			$("table tr.more").removeClass("display_none");
		}else{
			$(this).addClass("show_more");
			$(this).html("显示全部门票类型");
			$("table tr.more").addClass("display_none");
		}
	});
	/*客源地*/
	(function(){
		$("#area").getAreas({update:true,pro_id:0,city_id:0,county_id:0,depth:2});
		var getOrigin=function(){
			var origin="";
			origin+=$("#d_state").find('option:selected').text();
			if($("#d_province").val()){
				origin+="-"+$("#d_province").find('option:selected').text();
			}
			if($("#d_city").val()){
				origin+="-"+$("#d_city").find('option:selected').text();
			}
			$("#origin").val(origin);
		}
		$("#d_state").change(function(){
			if($(this).val()!=60000){
				$(this).next().find("select").each(function(){
					$(this).attr("disabled",true);
					$(this).children().first().attr("selected",true);
				});
			}else{
				$(this).next().find("select").attr("disabled",false);
			}
			getOrigin();
		})
		$("#d_province").change(function(){
			getOrigin();
		});
		$("#d_city").change(function(){
			getOrigin();
		});
	})();
	/*常用联系人*/
	if($("#contactList").size()>0){
		$("#contactList li input").click(function(){
			if(this.checked==true){
				$(this).parent().parent().find("input").attr("checked",false);
				this.checked=true;
				$("#ordertel").val($(this).val());
				$("#ordername").val($(this).next().html());
			}else{
				$("#ordertel").val("");
				$("#ordername").val("");
			}
			
		});
	};
	/*取票方式*/
	$("input.getTicket").click(function(){
		if($(this).val()==0){
			$("p.postAddress").addClass("display_none");
			$("p.postCode").addClass("display_none");
		}else{
			$("p.postAddress").removeClass("display_none");
			$("p.postCode").removeClass("display_none");
		}
	})
})();